# 作者: Mark
# 2023年03月10日11时33分19秒
from socket import *
import struct

#初始化
tcp_server_socket = socket(AF_INET, SOCK_STREAM)
#重用对应地址和端口
tcp_server_socket.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
#本地IP地址和端口
addr = ('',2000)
#绑定信息
tcp_server_socket.bind(addr)
#使用listen将套接字变为主动的，这样就可以接受别人的连接了
tcp_server_socket.listen(10)
#
client_socket,clientAddr = tcp_server_socket.accept()
#连接上 打印
print(clientAddr)

#发文件
file_name = "READOM"
#发文件名
b_file_name = file_name.encode('utf8')
print(len(b_file_name))
client_socket.send(struct.pack('I',len(b_file_name))) #将文件名打包 变为火车头 4个字节 发送
client_socket.send(b_file_name) # 发车厢 是文件名

#发文件内容
file = open('READOM','rb') #以二进制打开文件
file_content = file.read() #见文件读取到变量file_contect中
client_socket.send(struct.pack('I',len(file_content))) #见文件内容长度打包 为火车头 4个字节 发送
client_socket.send(file_content) #发车厢 是文件内容
file.close()

#关闭
client_socket.close()
tcp_server_socket.close()

